package br.com.seosoft.simplecalcfinan.adapters;

import java.util.ArrayList;
import java.util.List;
import java.util.Locale;

import android.app.Activity;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;
import android.util.Log;
import br.com.seosoft.simplecalcfinan.R;
import br.com.seosoft.simplecalcfinan.geral;
import br.com.seosoft.simplecalcfinan.fragmentos.FragContas;

public class SectionspagerAdapter extends FragmentStatePagerAdapter {

	private Activity atividade;
	private String fk_grupo;
	private int ano;
	private String position_pasta;
	private List<Fragment> frags = new ArrayList<Fragment>();
	private boolean ordenarValor = false;

	public SectionspagerAdapter(FragmentManager fm, Activity atividade,
			String fk_grupo, int ano, String position_pasta,
			boolean ordenarValor) {
		super(fm);
		// TODO Auto-generated constructor stub
		this.atividade = atividade;
		this.fk_grupo = fk_grupo;
		this.ano = ano;
		this.position_pasta = position_pasta;
		this.ordenarValor = ordenarValor;
	}

	@Override
	public Fragment getItem(int position) {

		Fragment fragment = new FragContas();

		Bundle args = new Bundle();
		args.putInt(FragContas.PAGINA_MES, position);
		args.putInt(FragContas.PAGINA_ANO, ano);
		args.putString(FragContas.PAGINA_FK_GRUPO, fk_grupo);
		args.putString(FragContas.PAGINA_POSITION_PASTA, position_pasta);
		args.putBoolean(FragContas.PAGINA_ORDENAR_VALOR, ordenarValor);
		fragment.setArguments(args);
		Log.i(geral.LogCat, "Recriado Adapter Pager: " + ano);

		frags.add(fragment);
		return fragment;
	}

	public Fragment getFragment(int position) {

		return frags.get(position);

	}

	public List<Fragment> getListFragments() {
		// TODO Auto-generated method stub
		return frags;
	}

	@Override
	public int getCount() {

		return 13;
	}

	public void setAno(int ano) {
		this.ano = ano;
	}

	@Override
	public CharSequence getPageTitle(int position) {
		Locale l = Locale.getDefault();
		switch (position) {

		case 0:
			return atividade.getString(R.string.todos).toUpperCase(l);
		case 1:
			return atividade.getString(R.string.janeiro).toUpperCase(l);
		case 2:
			return atividade.getString(R.string.fevereiro).toUpperCase(l);
		case 3:
			return atividade.getString(R.string.marco).toUpperCase(l);
		case 4:
			return atividade.getString(R.string.abril).toUpperCase(l);
		case 5:
			return atividade.getString(R.string.maio).toUpperCase(l);
		case 6:
			return atividade.getString(R.string.junho).toUpperCase(l);
		case 7:
			return atividade.getString(R.string.julho).toUpperCase(l);
		case 8:
			return atividade.getString(R.string.agosto).toUpperCase(l);
		case 9:
			return atividade.getString(R.string.setembro).toUpperCase(l);
		case 10:
			return atividade.getString(R.string.outubro).toUpperCase(l);
		case 11:
			return atividade.getString(R.string.novembro).toUpperCase(l);

		case 12:
			return atividade.getString(R.string.dezembro).toUpperCase(l);
		}
		return null;
	}
}
